﻿using Magicodes.ExporterAndImporter.Core;
using Magicodes.ExporterAndImporter.Excel;
using OfficeOpenXml.Table;
using System;
using System.Collections.Generic;
using System.Text;
using System.Xml.Linq;

namespace NP.BPMReportPlatform.AuthorizationProcessesManager.Dtos
{
    [ExcelExporter(Name = "流程权限维护", TableStyle = TableStyles.Light10, AutoFitAllColumn = true)]
    public class ProcessInfoOutput
    {
        [IEIgnore(IsExportIgnore = true)]
        public Guid ProcessId { get; set; }
        [IEIgnore(IsExportIgnore = true)]
        public Guid ReponsibleId { get; set; }
        /// <summary>
        /// 流程名称
        /// </summary>
        [ExporterHeader(DisplayName = "流程名称")]
        public string ProcessName { get; set; }

        /// <summary>
        /// 流程编码(BTID)
        /// </summary>
        [ExporterHeader(DisplayName = "BTID")]
        public string ProcessCode { get; set; }

        /// <summary>
        /// 业务分类
        /// </summary>
        [ExporterHeader(DisplayName = "流程分类")]
        public string BusinessTypeName { get; set; }

        /// <summary>
        /// 是否启用（启用-1；禁用-0）
        /// </summary>
        [ExporterHeader(DisplayName = "状态")]
        public string Enabled { get; set; }

        /// <summary>
        /// 平台类型
        /// </summary>
        [ExporterHeader(DisplayName = "平台类型")]
        public string PlatformTypeName { get; set; }
        [IEIgnore(IsExportIgnore = true)]
        public int PlatformType { get; set; }

        /// <summary>
        /// 业务负责人
        /// </summary>
        [ExporterHeader(DisplayName = "业务负责人")]
        public string ResponsiblePerson { get; set; }

        /// <summary>
        /// 业务负责人部门
        /// </summary>
        [ExporterHeader(DisplayName = "业务负责人部门")]
        public string ResponsibleDepartment { get; set; }

        /// <summary>
        /// IT对接人
        /// </summary>
        [ExporterHeader(DisplayName = "IT对接人")]
        public string ContactPerson { get; set; }

        /// <summary>
        /// 开发人员
        /// </summary>
        [ExporterHeader(DisplayName = "开发运维人")]
        public string Developer { get; set; }

        /// <summary>
        /// 项目负责人
        /// </summary>
        [ExporterHeader(DisplayName = "项目负责人")]
        public string ItemResponsiblePerson { get; set; }

        /// <summary>
        /// 表单类型（主要用于控制三方流程）
        /// </summary>
        [ExporterHeader(DisplayName = "表单类型")]
        public string FormType { get; set; }

        /// <summary>
        /// 发起端设备类型（A：全部、P：电脑端、M：手机端、T：三方发起）
        /// </summary>
        [ExporterHeader(DisplayName = "发起端设备类型")]
        public string StartDeviceType { get; set; }

        /// <summary>
        /// 审批端设备类型（A：全部、P：电脑端、M：手机端）
        /// </summary>
        [ExporterHeader(DisplayName = "审批端设备类型")]
        public string ApproveDeviceType { get; set; }

        /// <summary>
        /// 异常通知邮箱，多个人用,隔开
        /// </summary>
        [ExporterHeader(DisplayName = "异常通知邮箱")]
        public string Email { get; set; }

        /// <summary>
        /// 异常抄送邮箱，多个人用,隔开
        /// </summary>
        [ExporterHeader(DisplayName = "异常抄送邮箱")]
        public string CCEmail { get; set; }

        /// <summary>
        /// 备注说明
        /// </summary>
        [ExporterHeader(DisplayName = "备注说明")]
        public string Remark { get; set; }

        /// <summary>
        /// 是否允许撤回
        /// </summary>
        [ExporterHeader(DisplayName = "是否允许撤回")]
        public int? IsCanCallBack { get; set; }

        /// <summary>
        /// 是否发送审批完成邮件
        /// </summary>
        [ExporterHeader(DisplayName = "是否发送审批完成邮件")]
        public int? IsSendApprovedEmail { get; set; }

        /// <summary>
        /// 是否使用默认待办邮件
        /// </summary>
        [ExporterHeader(DisplayName = "是否使用默认待办邮件")]
        public int? IsUseToDoEmail { get; set; }
    }
}
